import Vue from 'vue'
import Vuex from 'vuex'
// 导入本地存储token的方法
// import { setToken } from '@/utils/auth.js' // 经典写法
import * as auth from '@/utils/auth.js' // 新写法
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 定义token和refresh_token数据
    user: auth.getToken() || {},
    // 用户头像
    photo: localStorage.getItem('TT_PHOTO') || ''
  },
  mutations: {
    // 设置token
    setToken (state, token) {
      state.user = token
      // 为了避免刷新的时候还在，本地也要存一份 => 刷新之后 => 可以从本地获取最新的token
      auth.setToken(token)
    },
    // 删除token
    delToken (state) {
      state.user = {}
      // 本地删除
      auth.delToken()
    },
    // 修改头像 =>
    setPhoto (state, photo) {
      state.photo = photo
      // 本地存储用户头像数据
      localStorage.setItem('TT_PHOTO', photo)
    }
  },
  actions: {
  },
  modules: {
  }
})
